import random
from Planete import *
class Etoile(object):
    def __init__(self, x, y, z, numero, proprietaire):
        self.proprietaire=proprietaire
        self.tabPlanetes=[]
        self.tabStructures=[]
        self.x=x
        self.y=y
        self.z=z
        self.numero=numero
        self.nbPlanetes=random.randrange(1,20)
        self.mineraiMax=0
        self.populationMax=0
        self.gazMax=0
        self.minerai=0
        self.population=0
        self.gaz=0
        self.nourriture=0        
        self.nom=str(x)+":"+str(y)+":"+str(z)
        for i in range(0,self.nbPlanetes):
            self.nbRandom=random.randrange(1,8)
            if self.nbRandom == 1 or 2 or 3:
                typePlanete="Gazeuse"
                planeteGaz=random.randrange(1000, 5000)
                planetePopulation=0
                planeteMinerai=0
            elif self.nbRandom == 4:
                typePlanete="Habitable"
                planetePopulation=random.randrange(300, 500)
                planeteMinerai=random.randrange(500, 2000)
                planeteGaz=random.randrange(500, 2000)
            elif self.nbRandom == 5 or 6 or 7:
                typePlanete="Morte"
                planetePopulation=0
                planeteMinerai=random.randrange(1000, 5000)
                planeteGaz=0
            self.tabPlanetes.append(Planete(planeteMinerai, planetePopulation, planeteGaz, typePlanete, self))
            self.mineraiMax=self.mineraiMax+planeteMinerai
            self.populationMax=self.populationMax+planetePopulation
            self.gazMax=self.gazMax+planeteGaz
            
    def changerNom(self):
        print "Vous avez decouvert " + self.nom
        self.reponse = raw_input("Voulez-vous lui donner un nom?(o ou n)")
        if self.reponse == "o":
            self.nom=raw_input("Entrez le nom de la planete: ")
        
    def accumulerRessources(self):
        for unePlanete in self.tabPlanetes:
            for unBatiment in unePlanete.batiments:
                #si est deja construit 
                if unBatiment.etat=="CONSTRUCTION":
                    unBatiment.construire()
                else:               
                    if unBatiment.type=="extracteurGaz":
                        if unePlanete.gaz>0:
                            self.gaz+=unBatiment.vitesse
                            unePlanete.gaz-=unBatiment.vitesse
                            #pour faire beau chiffre
                            if unePlanete.gaz<0:
                                unePlanete.gaz=0
                            #print "Etoile no: "+str(self.numero)+" Gaz: "+str(self.gaz)
                    elif unBatiment.type=="extracteurMinerai":
                        if unePlanete.minerai>0:
                            self.minerai+=unBatiment.vitesse
                            unePlanete.minerai-=unBatiment.vitesse
                            #pour faire beau chiffre
                            if unePlanete.minerai<0:
                                unePlanete.minerai=0
                        #print "Etoile no: "+str(self.numero)+" Minerai: "+str(self.minerai)
                #elif unBatiment.type=="agricultureFerme":
                #    self.nourriture+=unBatiment.vitesse
                    #print "Etoile no: "+str(self.numero)+" Minerai: "+str(self.minerai)    
